package com.sdy.supermarket.biz.model;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sdy.common.model.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdy.common.model.FileObj;
import com.sdy.supermarket.biz.vo.ApprovalConfigObj;
import com.sdy.supermarket.biz.vo.ResIntroVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 资源表
 * </p>
 *
 * @author zzq
 * @since 2019-07-31
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class GsRes extends BaseModel {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId
    private Integer id;

    /**
     * 名称
     */
    private String name;

    /**
     * 资源源部门id
     */
    private Integer deptId;

    /**
     * 应用来源
     */
    private String resSource;

    /**
     * 资源源部门名称
     */
    private String deptName;

    /**
     * 分类
     */
    private Integer category;

    /**
     * 类型 1-工具 2-平台 3-服务
     */
    private Integer type;

    /**
     * 流程配置编码
     */
    private String apConfigNo;

    /**
     * 流程配置
     */
    @TableField(exist = false)
    private ApprovalConfigObj approvalConfigObj;

    /**
     * 描述
     */
    private String description;

    /**
     * 图标
     */
    private String icon;

    /**
     * 图标文件信息
     */
    @TableField(exist = false)
    private FileObj fileInfo;

    /**
     * 热门资源。0 否 1 是
     */
    private Integer popular;

    /**
     * 状态 0-待上线 1-上线 2-下架
     */
    private Integer state;

    /**
     * banner url
     */
    private String banner;

    /**
     * 产品详情
     */
    private String introduction;

    /**
     * 厂商
     */
    private String manufacturer;

    /**
     * 厂商链接
     */
    private String manufacturerUrl;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = DATETIME_FORMAT)
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = DATETIME_FORMAT)
    private Date modifyTime;

    /**
     * 文档列表
     */
    @TableField(exist = false)
    private List<GsResDoc> docList;

    /**
     * 文件信息
     */
    @TableField(exist = false)
    private ResIntroVO resIntroVO;

    /**
     * 图标详情
     */
    @TableField(exist = false)
    private FileObj iconInfo;

    /**
     * Banner详情
     */
    @TableField(exist = false)
    private List<FileObj> bannerInfo;
}
